<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui" template="/paginas/template.xhtml">

	<ui:define name="corpoForm">


		<f:event type="javax.faces.event.PreRenderComponentEvent"
			listener="#{manterComunicacaoSMSBean.preRenderNew}" />
		<h:form id="formNovaComunicacaoSMS" prependId="false">

			<p:panelGrid columns="4" styleClass="botoes" id="botoes">
				<p:commandButton value="#{rsc.label_salvar}" styleClass="botao"
					update="growl" action="#{manterComunicacaoSMSBean.salvar}"
					ajax="false"
					onclick="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);"
					rendered="#{p:ifGranted('CRIAR_COMUNICACAOSMS')}"
					title="#{rsc.title_salvar}" />

				<p:commandButton id="botaoEnviarSMS" process="@form"
					update=":growl, :formNovaComunicacaoSMS"
					value="#{rsc.label_enviarMensagem}" styleClass="botao"
					actionListener="#{manterComunicacaoSMSBean.enviarMensagem}"
					title="#{rsc.title_enviarMensagem}"
					rendered="#{!manterComunicacaoSMSBean.entidade.mensagemEnviada}" />

				<p:commandButton id="btnGerarBoleto" process="@this"
					styleClass="botao" value="#{rsc.label_gerarBoleto}"
					oncomplete="dlgGerarBoleto.show();"
					title="#{rsc.title_gerarBoleto}" />


				<p:commandButton value="#{rsc.label_cancelar}" styleClass="botao"
					update="growl" action="#{manterComunicacaoSMSBean.cancelar}"
					ajax="false"
					onclick="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);"
					title="#{rsc.title_cancelar}" immediate="true">
				</p:commandButton>

				<p:commandLink>
					<p:graphicImage onclick="helpComunicacaoSMS.show();"
						value="/paginas/recursos/imagens/layout/help.png" />
				</p:commandLink>

			</p:panelGrid>

			<p:panel id="pnlNovoComunicacaoSMS"
				header="#{rsc.label_novaComunicacaoSMS}" toggleable="true"
				toggleSpeed="500">

				<p:panelGrid columns="2">
					<p:outputLabel value="#{rsc.label_mensagem}"
						for="txtNomeComunicacaoSMS" styleClass="obrigatorio" />
					<p:panelGrid columns="1">
						<p:inputTextarea label="#{rsc.label_comunicacaoSMS}" rows="4"
							id="txtNomeComunicacaoSMS" maxlength="150" cols="60"
							title="#{rsc.label_comunicacaoSMS}" counter="counter"
							counterTemplate="{0} caracteres restantes."
							value="#{manterComunicacaoSMSBean.entidade.nome}" />
						<h:outputText id="counter" />
					</p:panelGrid>

					<p:outputLabel value="#{rsc.label_contaSms}" for="cmbContaSms"
						styleClass="obrigatorio" />

					<p:selectOneMenu style="width: 150px" label="#{rsc.label_contaSms}"
						styleClass="width: 120px"
						value="#{manterComunicacaoSMSBean.entidade.contaSms.id}"
						id="cmbContaSms">
						<f:selectItems
							value="#{manterComunicacaoSMSBean.formulario.contasSms}" var="c"
							itemLabel="#{c.nome}" itemValue="#{c.id}" />
					</p:selectOneMenu>

					<p:outputLabel value="#{rsc.label_creditoDisponivel}"
						for="chkAtivo"
						rendered="#{manterComunicacaoSMSBean.entidade.contaSms.credito != null and manterComunicacaoSMSBean.entidade.contaSms.credito > 0}" />
					<h:outputText
						value="#{manterComunicacaoSMSBean.entidade.contaSms.credito}"
						rendered="#{manterComunicacaoSMSBean.entidade.contaSms.credito != null}" />
					<h:outputText value="0"
						rendered="#{manterComunicacaoSMSBean.entidade.contaSms.credito == 0}" />

					<p:outputLabel value="#{rsc.label_celularResponsavel}"
						for="txtCelularResponsavel" />
					<p:inputText styleClass="telefone"
						value="#{manterComunicacaoSMSBean.entidade.celularResponsavel}"
						id="txtCelularResponsavel" title="#{rsc.title_celularResponsavel}">
					</p:inputText>

					<p:outputLabel value="#{rsc.label_ativo}" for="chkAtivo" />

					<p:selectBooleanCheckbox label="#{rsc.label_ativo}" id="chkAtivo"
						title="#{rsc.label_ativo}"
						value="#{manterComunicacaoSMSBean.entidade.ativo}" />

				</p:panelGrid>
			</p:panel>

			<p:panel id="pnlConfiguracoesComunicacaoSms"
				header="#{rsc.label_configuracoesComunicacaoSms}" toggleable="true"
				toggleSpeed="500">
				<p:panelGrid columns="2">
					<p:outputLabel value="#{rsc.label_prefixosValidos}"
						for="txtPrefixos" />
					<p:inputText
						value="#{manterComunicacaoSMSBean.entidade.prefixoValido}"
						id="txtPrefixos" title="#{rsc.title_prefixosValidos}">
						<p:ajax event="change"
							listener="#{manterComunicacaoSMSBean.limparDestinatarios}"
							update="formNovaComunicacaoSMS:listPessoas" />
					</p:inputText>

					<p:outputLabel value="#{rsc.label_prefixoAdicionar}"
						for="txtPrefixoAdicionar" />
					<p:inputText
						value="#{manterComunicacaoSMSBean.entidade.prefixoAdicionar}"
						id="txtPrefixoAdicionar" size="2" styleClass="numerico2"
						title="#{rsc.title_prefixosAdicionar}">
						<p:ajax event="change"
							listener="#{manterComunicacaoSMSBean.adicionarPrefixo}"
							update="formNovaComunicacaoSMS:listPessoas" />
					</p:inputText>

				</p:panelGrid>


			</p:panel>


			<p:panel id="pnlDestinatarios"
				header="#{rsc.label_destinatariosComunicacaoSMS}" toggleable="true"
				toggleSpeed="500">
				<p:panelGrid columns="3">

					<p:commandButton id="btnBuscarPessoas" process="@this"
						styleClass="botao" value="#{rsc.label_adicionarDestinatarios}"
						oncomplete="dlgPessoas.show();"
						title="#{rsc.label_adicionarDestinatarios}" />

					<p:commandButton value="#{rsc.label_importarArquivo}"
						styleClass="botao" process="@form"
						oncomplete="importarDestinatarios.show();"
						title="#{rsc.label_importarXML}" />


				</p:panelGrid>

				<p:panelGrid columns="1" styleClass="full-width">

					<p:dataTable emptyMessage="#{msg.nenhumRegistroEncontrado}"
						var="pessoa" id="listPessoas"
						value="#{manterComunicacaoSMSBean.entidade.destinatarios}"
						paginator="true" rows="200"
						paginatorPosition="#{rsc.label_paginationPosition}"
						paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
						rowsPerPageTemplate="200,500,1500,2000">
						<p:column headerText="#{rsc.label_nome}">
							<p:outputLabel value="#{pessoa.nome}" />
						</p:column>

						<p:column headerText="#{rsc.label_email}">
							<p:outputLabel value="#{pessoa.email}" />
						</p:column>

						<p:column headerText="#{rsc.label_celular}">
							<p:outputLabel value="#{pessoa.celular}" />
						</p:column>

						<p:column styleClass="coluna-acoes"
							headerText="#{rsc.label_acoes}">

							<p:commandButton process="@this"
								rendered="#{pessoa.status.codigo == 1}" icon="smsEnviada"
								title="#{rsc.label_smsEnviada}">
							</p:commandButton>

							<p:commandButton process="@this"
								rendered="#{pessoa.status.codigo == 2}" icon="smsNaoEnviada"
								title="#{rsc.label_smsNaoEnviada}">
							</p:commandButton>

							<p:commandButton oncomplete="retirarBlacklist.show();"
								update=":growl" rendered="#{pessoa.blacklist}" icon="blacklist"
								process="@this" title="#{rsc.label_retirarBlacklist}">
								<f:setPropertyActionListener value="#{pessoa}"
									target="#{manterComunicacaoSMSBean.formulario.destblacklist}" />
							</p:commandButton>

							<p:commandButton icon="ui-icon ui-icon-trash"
								title="#{rsc.label_remover}" process="@this"
								rendered="#{pessoa.id == null or pessoa.status == null}"
								oncomplete="confirmacao.show();">
								<f:setPropertyActionListener value="#{pessoa}"
									target="#{manterComunicacaoSMSBean.formulario.pessoaRemover}" />
							</p:commandButton>

						</p:column>
					</p:dataTable>

				</p:panelGrid>
			</p:panel>

			<p:watermark value="#{rsc.wm_nomeComunicacaoSMS}"
				for="txtNomeComunicacaoSMS" />
		</h:form>

		<p:dialog id="gerarBoletoDialog" appendTo="@(body)" width="900"
			height="400" header="#{rsc.label_selecioneDestinatarios}"
			modal="true" closeOnEscape="true" widgetVar="dlgGerarBoleto">

			<h:form id="formExportarBoleto" prependId="false">
				<p:panelGrid columns="1">
					<p:commandButton id="btnExportarBoleto" process="@this"
						styleClass="botao" value="#{rsc.label_exportarBoleto}"
						oncomplete="dlgGerarBoleto.hide();"
						actionListener="#{manterComunicacaoSMSBean.exportarBoleto}"
						title="#{rsc.title_exportarBoleto}" />
				</p:panelGrid>

				<p:panel id="pnlExportarBoleto" header="#{rsc.label_dadosBoleto}"
					toggleable="true" toggleSpeed="500">
					
					
					
					
					
				</p:panel>



			</h:form>

		</p:dialog>

		<p:dialog id="buscarPessoasDialog" appendTo="@(body)" width="900"
			height="400" header="#{rsc.label_selecioneDestinatarios}"
			modal="true" closeOnEscape="true" widgetVar="dlgPessoas">



			<h:form id="formAdicionarPessoas" prependId="false">
				<p:panelGrid columns="3">

					<p:commandButton id="btnAdicionarSelecionados" process="@this"
						styleClass="botao" value="#{rsc.label_adicionarSelecionados}"
						oncomplete="dlgPessoas.hide();"
						actionListener="#{manterComunicacaoSMSBean.adicionarPessoas}"
						update="listaSelecionePessoas, :formNovaComunicacaoSMS:listPessoas"
						title="#{rsc.title_adicionarSelecionados}" />

					<p:commandButton id="btnAdicionarTodos" process="@this"
						styleClass="botao" value="#{rsc.label_adicionarTodos}"
						oncomplete="dlgPessoas.hide();"
						actionListener="#{manterComunicacaoSMSBean.adicionarTodasPessoas}"
						update="listaSelecionePessoas, :formNovaComunicacaoSMS:listPessoas"
						title="#{rsc.label_adicionarTodos}" />

				</p:panelGrid>

				<p:panelGrid columns="3">
					<p:outputLabel value="#{rsc.label_pessoa}"
						for="acComunicacaoSMSPessoas" />

					<p:outputLabel value="#{rsc.label_cpf}" for="txtCPFPessoas" />

					<p:outputLabel value="#{rsc.label_email} " for="txtEmailPessoas" />

					<p:autoComplete id="acComunicacaoSMSPessoas" minQueryLength="3"
						value="#{manterComunicacaoSMSBean.filtro.nome}" effect="fade"
						maxResults="7" size="30"
						completeMethod="#{manterComunicacaoSMSBean.autoCompleteNomePessoa}">
						<p:ajax event="change"
							listener="#{manterComunicacaoSMSBean.buscarPessoasPorFiltros}" />
					</p:autoComplete>

					<p:inputText label="#{rsc.label_cpf}" id="txtCPFPessoas"
						title="#{rsc.label_cpf}" styleClass="cpf"
						value="#{manterComunicacaoSMSBean.filtro.cpf}">
					</p:inputText>

					<p:inputText label="#{rsc.label_email}" id="txtEmailPessoas"
						title="#{rsc.label_email}" styleClass="email" size="30"
						value="#{manterComunicacaoSMSBean.filtro.email}">
					</p:inputText>

				</p:panelGrid>
				<p:panelGrid columns="2">
					<p:outputLabel value="#{rsc.label_periodoCriacao} "
						for="cldDataCriacaoInicio" />
					<p:spacer />
					<p:panelGrid columns="4">
						<p:outputLabel value="#{rsc.label_de} " for="cldDataCriacaoInicio" />
						<p:calendar pattern="dd/MM/yyyy" size="15" showOn="button"
							id="cldDataCriacaoInicio"
							value="#{manterComunicacaoSMSBean.filtro.dataInicio}" />
						<p:outputLabel value="#{rsc.label_ate} " for="cldDataCriacaoFim" />
						<p:calendar pattern="dd/MM/yyyy" size="15" showOn="button"
							id="cldDataCriacaoFim"
							value="#{manterComunicacaoSMSBean.filtro.dataFim}" />
					</p:panelGrid>
					<p:commandButton
						actionListener="#{manterComunicacaoSMSBean.buscarPessoasPorFiltros}"
						icon="ui-icon ui-icon-search" title="#{rsc.label_buscar}"
						update="formAdicionarPessoas:listaSelecionePessoas" />

				</p:panelGrid>


				<p:panelGrid columns="1" styleClass="full-width">
					<p:dataTable emptyMessage="#{msg.nenhumRegistroEncontrado}"
						var="pessoa" id="listaSelecionePessoas"
						value="#{manterComunicacaoSMSBean.formulario.pessoasSelecionar}"
						selection="#{manterComunicacaoSMSBean.formulario.pessoasSelecionados}"
						paginator="true" rows="10"
						paginatorPosition="#{rsc.label_paginationPosition}"
						paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
						rowsPerPageTemplate="10,50,150,200">

						<p:ajax event="rowSelectCheckbox" />

						<p:column selectionMode="multiple" style="width:20px" />


						<p:column headerText="#{rsc.label_pessoa}">
							<p:outputLabel value="#{pessoa.nome}" />
						</p:column>

						<p:column headerText="#{rsc.label_celular}">
							<p:outputLabel value="#{pessoa.contato.celular}" />
						</p:column>

						<p:column headerText="#{rsc.label_email}">
							<p:outputLabel value="#{pessoa.contato.email}" />
						</p:column>

					</p:dataTable>
				</p:panelGrid>

				<p:watermark value="#{rsc.wm_nomeConsulta}"
					for="acComunicacaoSMSPessoas" />
				<p:watermark value="#{rsc.wm_cpfConsulta}" for="txtCPFPessoas" />
				<p:watermark value="#{rsc.wm_emailConsulta}" for="txtEmailPessoas" />
			</h:form>
		</p:dialog>

		<p:confirmDialog message="#{msg.questionConfirmaRetirarBlacklist}"
			appendTo="@(body)" width="250" id="retirarBlacklistDialog"
			modal="true" closeOnEscape="true" header="#{rsc.label_confirmar}"
			severity="alert" widgetVar="retirarBlacklist">
			<h:form id="retirarBlacklistForm">
				<p:commandButton value="#{rsc.label_sim}" styleClass="botao"
					actionListener="#{manterComunicacaoSMSBean.retirarBlacklist}"
					oncomplete="retirarBlacklist.hide()"
					update=":formNovaComunicacaoSMS:listPessoas, :growl" />
				<p:commandButton value="#{rsc.label_nao}" styleClass="botao"
					onclick="retirarBlacklist.hide()" type="button" />
			</h:form>
		</p:confirmDialog>

		<p:confirmDialog message="#{msg.questionConfirmaRemover}"
			appendTo="@(body)" width="250" id="dlgRemoverPessoa" modal="true"
			closeOnEscape="true" header="#{rsc.label_confirmar}" severity="alert"
			widgetVar="confirmacao">
			<h:form id="confirmarForm">
				<p:commandButton value="#{rsc.label_sim}" process="@this"
					styleClass="botao"
					actionListener="#{manterComunicacaoSMSBean.removerPessoa}"
					update=":formNovaComunicacaoSMS:listPessoas"
					oncomplete="confirmacao.hide();" />
				<p:commandButton value="#{rsc.label_nao}" styleClass="botao"
					onclick="confirmacao.hide()" type="button" />
			</h:form>
		</p:confirmDialog>

		<p:dialog header="#{msg.importarDestinatarios}" appendTo="@(body)"
			closeOnEscape="true" id="dlgImportarDestinatarios" modal="true"
			widgetVar="importarDestinatarios">
			<h:form id="formImportarDestinatarios">
				<p:panelGrid columns="1" styleClass="full-width">

					<p:fileUpload auto="true" process="@this"
						label="#{rsc.label_importarXML}"
						oncomplete="importarDestinatarios.hide();"
						fileUploadListener="#{manterComunicacaoSMSBean.carregarXML}"
						update=":growl, :formNovaComunicacaoSMS" mode="advanced"
						invalidFileMessage="#{msg.tipoArquivoInvalido}" sizeLimit="100000"
						allowTypes="/(\.|\/)(xml)$/" />

					<p:fileUpload auto="true"
						value="#{manterComunicacaoSMSBean.formulario.fileXLS}"
						label="#{rsc.label_arquivoXLS}"
						oncomplete="importarDestinatarios.hide();"
						fileUploadListener="#{manterComunicacaoSMSBean.carregarXLS}"
						update=":growl, :formNovaComunicacaoSMS" mode="advanced"
						invalidFileMessage="#{msg.tipoArquivoInvalido}"
						sizeLimit="100000000" allowTypes="/(\.|\/)(xls|xlsx)$/" />

				</p:panelGrid>
			</h:form>
		</p:dialog>

		<ui:include src="/paginas/comunicacao/sms/helpComunicacaoSMS.xhtml" />

	</ui:define>
</ui:composition>

